home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
-
- <!--
- Copyright 2003-2005 The Apache Software Foundation or its licensors, as
- applicable.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
- <!DOCTYPE xsl:stylesheet [
- <!ENTITY lf SYSTEM "util/lf.xml">
- ]>
-
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="">
-
- <xsl:output
- method="text"
- encoding="utf-8"
- indent="no"
- />
-
- <!-- create nodeset for referencing later -->
- <xsl:variable name="design" select="document('util/designations.xml')
- /items/item" />
-
- <!-- Constants used for case translation -->
- <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
- <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
-
- <!-- ==================================================================== -->
- <!-- <metafile> -->
- <!-- build typemap -->
- <!-- ==================================================================== -->
- <xsl:template match="/metafile">
- <xsl:apply-templates select="variants/variant" />
- </xsl:template>
- <!-- /metafile -->
-
- <!-- ==================================================================== -->
- <!-- <variant> -->
- <!-- ==================================================================== -->
- <xsl:template match="variant">
- <xsl:variable name="lang" select="translate(., $uppercase, $lowercase)" />
- <xsl:if test="not($design[translate(@lang, $uppercase, $lowercase) = $lang])">
- <xsl:message terminate="yes">
- FATAL: missing designation data for language <xsl:value-of select="." />.
- The XSLT-Stylesheet won't work without modification.
- </xsl:message>
- </xsl:if>
-
- <xsl:text>URI: </xsl:text>
- <xsl:value-of select="/metafile/basename" />
- <xsl:value-of select="$design[translate(@lang, $uppercase, $lowercase)
- = $lang]" />&lf;
-
- <xsl:text>Content-Language: </xsl:text>
- <xsl:value-of select="$design[translate(@lang, $uppercase, $lowercase)
- = $lang]/@lang" />&lf;
-
- <xsl:text>Content-type: text/html; charset=</xsl:text>
- <xsl:value-of select="$design[translate(@lang, $uppercase, $lowercase)
- = $lang]/@charset" />&lf;
-
- <xsl:if test="position() != last()">&lf;</xsl:if>
- </xsl:template>
- <!-- /variant -->
-
- </xsl:stylesheet>
-